<?php  if ( ! defined('BASEPATH')) exit('No direct script access allowed');

class Dbconfiguration{
	 var $campos;
	 var $etiquetas;
	 var $modulesTabla;
	 var $modulesForm;
	 var $modules;
	 
	 
	 function Dbconfiguration(){
		 $this->generateEtiquetas();
		 $this->modules=array(	0=>'usuario',
		 						1=>'paciente',
								2=>'pago',
								3=>'cita');
		 
	 	$this->campos=array('usuario'	=>	
								array(	'apellidosNombres'	=>	"CONCAT(CONCAT(usuario.apellidos,' '),usuario.nombres)"),
							'paciente'	=>
								array(	'apellidosNombres'	=>	"CONCAT(CONCAT(paciente.apellidos,' '),paciente.nombres)",
										'esmenor2'	=>	"CASE WHEN paciente.esmenor=1 THAN 'MENOR' ELSE 'ADULTO' END"),
							'pago'	=>
								array(	'apellidosNombres'	=>	"CONCAT(CONCAT(paciente.apellidos,' '),paciente.nombres)",
										'tipopago2'	=>	"CASE WHEN pago.tipopago=1 THAN 'EFECTIVO' ELSE 'DEPOSITO'"),
							'cita'	=>
								array(	'paciente'	=>	"CONCAT(CONCAT(paciente.apellidos,' '),paciente.nombres)",
										'usuario'	=>	"CONCAT(CONCAT(usuario.apellidos,' '),usuario.nombres)",
										'supervisor'	=>	"(SELECT CONCAT(CONCAT(u2.apellidos,' '),u2.nombres) FROM usuario u2 WHERE u2.idusuario=usuario.idsupervisor)",
										'estado2'	=>	"CASE WHEN cita.estado=1 THAN 'ACTIVO' ELSE 'INACTIVO'",
										'pagado2'	=>	"CASE WHEN cita.pagado=1 THAN 'PAGADO' ELSE 'POR PAGAR'",
										'asistio2'	=>	"CASE WHEN cita.asistio=1 THAN 'ASISTIO' ELSE 'NO ASISTIO'")
										);
	$etiquetas0=array(		"num"				=>	"#",
							"apellidosnombres"	=>	"Apellidos y Nombres",
							"esmenor2"			=>	"Categor&iacute;a",
							"telefono"			=>	"Tel&eacute;fono",
							"telefono1"			=>	"Tel&eacute;fono 1",
							"telefono2"			=>	"Tel&eacute;fono 2",
							"fechatransacion"	=>	"Fecha de transacci&oacute;n",
							"numerotransacion"	=>	"# de transacci&oacute;n",
							"estado2"			=>	"Estado",
							"pagado2"			=>	"Pagado",
							"asistio2"			=>	"Asistio");
	
	$this->etiquetas=array_merge($this->etiquetas,$etiquetas0);
							

								
	$this->modulesTabla= array(	'usuario'	=>"num, apellidosnombres, dni, email, telefono, celular",
								'paciente'	=>"num, apellidosnombres, telefono1, dni, esmenor2",
								'pago'		=>"num, apellidosnombres, monto, fecharegistro, fechatransaccion, numerotransacion, tipopago2",
								'cita'		=>'num, paciente, usuario, numcita, estado2, pagado2, asistio2');
								
								
	
	$this->modulesForm= array(	'usuario'	=>"nombres, apellidos, dni, fechanacimiento, email, telefono, celular, idrol",
								'paciente'	=>"nombres, apellidos, telefono1, telefono2, fechanacimiento, dni, email, apoderado1, apoderado2",
								'pago'		=>"fecharegistro, monto, fechatransaccion, numerotransacion");	
	 	
	 }
	 
	 
	 
	function getModules(){
		 return $this->modules;
		 }
	function getCampos(){
		 return $this->campos;
		 }
	function getEtiquetas(){
		 return $this->etiquetas;
		 }
	function getModulesTabla(){
		 return $this->modulesTabla;
		 }
	function getModulesForm(){
		 return $this->modulesForm;
		 }
	 
	 
	 function generateEtiquetas(){
		 $CI =& get_instance();
		 $CI->load->library('constructor');
		 $columnas=$CI->constructor->getAllColumnName();
		 
		 for($i=0;$i<count($columnas);$i++){
		 	
			 $this->etiquetas[$columnas[$i]['column_name']]=ucfirst($columnas[$i]['column_name']);
			 }
		 
		 }
		 
		function generateCampos(){
		 
		 
		 }
	 
		 
		 function stringComaToArrayReplaceHead($string){
		 	
		 	$arreglo=explode(",",$string);
		 	
		 	for($i=0;$i<count($arreglo);$i++){
		 		
		 		if(isset($this->etiquetas[trim($arreglo[$i])]))
		 			$arreglo[$i]=$this->etiquetas[trim($arreglo[$i])];
		 		else 
		 			$arreglo[$i]='-';
		 	}
		 	return $arreglo;
		 }
	 
	
	
}